[딥러닝] BatchNorm - penny4860/study-note GitHub Wiki

수식

x_hat[i] = (x[i] - mean) / root(var+eps)   # step1 : normalize
y[i] = gamma*x_hat[i] + beta

# mu : decay (momentum)
mean[t] = mean[t-1]*mu + mean[t]*(1-mu)
vat[t] = var[t-1]*mu + var[t]*(1-mu)

mean, variance

  • Training time
    • mean, var를 batch별로 구한다.
    • mean[t], var[t]을 moving average로 저장
  • Inference time
    • mean[t], var[t]을 사용해서 normalize 연산

Parameter

  • 설정 parameter
    • eps : variance로 나눌때 연산 안정성
    • mu : decay, momentum
      • test time에 사용할 mean, variance statistic을 구할때 사용
  • 학습 parameter
    • gamma
    • beta